Analytics - REST API
Specs - Projects OUT - REST API
The Analytics API supports the following endpoints:
Retrieval of the project element
GET /rest/v1/projects/{projectId}This endpoint allowing to GET the detailed information about a specific project referenced by its {projectId}
This endpoint supports GET operation and does not have any specific query parameters.
This endpoint requires the next HTTP header
Content-type: application/json
X-Conversation-Id: {Optional header parameter provided by the client}
X-Webhook-Correlation-Id: {Optional header parameter provided by the client in case of webhook usage}
client_id: {Mandatory header parameter provided by Dali platform}
client_secret: {Mandatory header parameter provided by Dali platform}The payload returned by the GET operation has the following format:
{
"header": {
"correlationId": "{correlationId conveyed all along the transaction}",
"conversationId": "{optionally provided by the client}",
"businessEntity": "{Business Entity name}",
"version": "{schema version following single digit format X}"
},
"data": {
"businessEntityId": "{Unique ID of the object to be synced}",
"lastUpdatedTimestamp": {<ISO 8601> Timestamp},
"businessEntityDetails": {Project domain data model. See details at bottom of page}
},
"error": {}
}
Retrieval of the multiple project elements
GET /rest/v1/projectsThis endpoint allows to GET the detailed information about the projects requested by the client. Please note that this API controls the access to the projects requested by the client and returns only the projects authorized for the client.
The check of authorization is based on the Client_Id that allows access to the set of the projects belonging to the OSMOSE + Bussiness Unit codes accessible by the client.
This endpoint supports the following query parameters and their combinations:
- updSince={date}: query parameter allowing to GET all authorized projects updated or created since updSince date (using ISO 8601 date format YYYY-MM-DD)
Example:
GET /rest/v1/projects?updSince=2021-04-19Return all authorized projects modified or created since 19 April 2021 included.
- updSince={date} & updBefore={date}: query parameters allowing to GET all authorized projects updated or created since updSince date (using ISO 8601 date format YYYY-MM-DD) and before updBefore date
Example:
GET /rest/v1/projects?updSince=2021-04-19&updBefore=2021-04-20Return all authorized projects modified or created between 19 April 2021 & 20 April 2021 included.
- updDate={date}: query parameters allowing to GET all authorized projects updated or created at updDate
Example:
GET /rest/v1/projects?updDate=2021-04-20Return all authorized projects modified or crea²ted between 20 April 2021.
- osmose={osmose}: query parameters allowing to GET all authorized projects belonging to a given osmose code
Example:
GET /rest/v1/projects?osmose=24334Return all authorized projects belonging to osmose 24334.
- osmose={osmose} & buCode={buCode}: query parameters allowing to GET all authorized projects belonging to a given osmose code and business unit code
Example:
GET /rest/v1/projects?osmose=24334&buCode=123Return all authorized projects belonging to osmose 24334 and business unit 123.
- limit={nbProjects} & page={pageNumber}: query parameters using for the pagination of the requests allowing to GET a limited number of projects by request. The maximum value for the filter limit is 999. When this filter is not given, the default limited number of projects by request is 999.
Example:
GET /rest/v1/projects?limit=100&page=1
GET /rest/v1/projects?limit=100&page=2
GET /rest/v1/projects?limit=100&page=3Return last modified 100 authorized projects then next 100 and then next 100.
This endpoint requires the next HTTP header
Content-type: application/json
X-ConversationId: {Optionall header parameter provided by the client}
client_id: {Mandatory header parameter provided by Dali platform}
client_secret: {Mandatory header parameter provided by Dali platform}The payload returned by the operation has the following format:
{
"header": {
"correlationId": "{correlationId conveyed all along the transaction}",
"conversationId": "{optionally provided by the client}",
"businessEntity": "{Business Entity name}",
"version": "{schema version following single digit format X}"
},
"data": [
{
"businessEntityId": "{Unique ID of the object to be synced}",
"lastUpdatedTimestamp": {Timestamp},
"businessEntityDetails": {Project domain data model. See details at bottom of page}
}
],
"links": {
"selfRef": "[url]/rest/v1/projects?limit=100&page=3",
"firstRef": "[url]/rest/v1/projects?limit=100&page=1",
"previousRef": "[url]/rest/v1/projects?limit=100&page=2",
"nextRef": "[url]/rest/v1/projects?limit=100&page=4"
},
"currentPage": 3,
"totalPages": 5,
"error": {}
}The content of the businessEntityDetails has the following format:
{
"projectId": "Project Id",
"quotation": "",
"quotation4": "",
"companyCode": "Company code",
"analyticalUnit": "Analytical unit code",
"businessUnitDesc": "BU Description",
"businessUnitManager": "BU Manager",
"code": "",
"desc": "Project long description",
"positionCode": "Project position",
"pType": "Project type",
"creationDate": "Project creation date",
"folderName": "",
"quoteLink": "Quote Link",
"beginDate": "Project begin date",
"endDate": "Project end date",
"managerId": "ID of manager",
"managerName": "name of manager",
"customerZCode": "",
"customerName": "Customer Name",
"customerCode": "Customer Code",
"clientSite": "Client site",
"quotationRelated": "Quotation related to the projet",
"quotationStatus": "Status of the related quotation",
"countryCode": "Country ISO code",
"regroupmentCode": "Regroupment code",
"regroupmentDescription": "",
"sendDate": "Date of sending",
"codexSource": "CODEX",
"businessSegmentation": "Business segmentation",
"customerSegmentation": "Customer segmentation",
"companyCodeDescription": "Company code",
"divisionGroupingCode": "Division group code",
"divisionGroupingCodeDescription": "Division group description",
"poleGroupingCode": "Pole group code",
"poleGroupingCodeDescription": "Pole group description",
"brandGroupingCode": "Brand group code",
"brandGroupingCodeDesc": "Brand group description",
"billingElementCode": true,
"technicalCode": "Technical Code",
"level": 3,
"imputationElementCode": true,
"dateP2": "Date of change onto P2",
"dateP3orP6": "Date of change into closed project (P3 or P6)",
"dateP4": "Date of change into closed project (P4)",
"name": "Project Name",
"businessUnitKey": "Business unit key",
"registrationNumber": "Registration number",
"idVinci": "",
"sourceInterface": "",
"InseeCode": "49211",
"groupingCode1": "Group code 1",
"groupingCode1description": "Group description 1",
"groupingCode2": "Group code 2",
"groupingCode2description": "Group description 2",
"groupingCode3": "Group code 3",
"groupingCode3description": "Group description 3",
"groupingCode4": "Group code 4",
"groupingCode4description": "Group description 4",
"shortName": "Short project Name",
"userZone1": "User Zone 1",
"buCode": "BU Code",
"userName": "Username",
"userZone2": "User zone 2",
"customerDiscountPrice": 0.00,
"comments": "Comments",
"modificationDate": "Date of modification"
}